An Extensible Markup Language (XML) Document Management (XDM) system is a universal enabler for various communication services, and is capable of storing and managing the data of various services. The Open Mobile Alliance (OMA) has established a preliminary specification for the XDM system. The XDM system has mainly the following functions.
1. An XDM Client (XDMC): The XDM client is an entity providing an access to XDM server. The XDM client may be a terminal or server entity. A resource of the XML Configuration Access Protocol (XCAP) corresponds to an XML document, or an element or an attribute in an XML document. The XCAP resource is identified by an XCAP URI. The XDM client makes use of an XML document through XCAP operations, and shall construct a URI of a resource on which an operation is requested, based upon a use method of an application. The following operations may be performed: creation or replacement of a document, deletion of a document, retrieval of a document, creation or replacement of an element, deletion of an element, retrieval of an element, creation or replacement of an attribute, deletion of an attribute, or retrieval of an attribute. For details of the XCAP protocol, a reference can be made to the specification of “The Extensible Markup Language (XML) Configuration Access Protocol” of the Internet Engineering Task Force.
2. An XDM Server (XDMS): A shared XDM server provides the functions of operation authentication, XML document management, XML document change notification, etc. For instance, the shared XDM server stores URI list documents shared by users, and a URI list includes a group, an acceptance list, a denial list, etc. as reused by different service enablers.
3. An aggregation proxy: A contact point where the XDM client can at the user equipment access XML documents on the XDM server is referred to as an aggregation proxy. Typically, a service enabler server can access the XDM server via no aggregation proxy. The aggregation proxy provides the following functions: 1) authentication of the XDM client; 2) routing of an XCAP request to a proper XDM server; and 3) compression/decompression at a wireless interface.
In the existing solution, a person who requests for a management operation on an XML document can only be the owner of the document per se. A user may perform various operations allowed, by the XDM system, such as deletion and modification, on his owned XML document, but can not perform any operation on a document of another user. As illustrated in FIG. 1, a typical XDM system mainly consists of the following devices.
An XDM client: the XDM client is an entity with an access to an XDM server, and may be a terminal or server. The XDM client as being a terminal interacts with the XDM server through an aggregation proxy; otherwise the XDM client interacts directly with the XDM server. The XDM client manages an XML document stored on an XDM server via the XCAP protocol
The Aggregation proxy: If the XDM client is a terminal, an XCAP request of the XDM client is forwarded to a proper XDM server through the aggregation proxy; and main functions of the aggregation proxy include routing, authentication, compression, etc.
The XDM server: the XDM server stores and manages XML documents for multiple XDM clients, and provides a notification message for a client which subscribes for a change to some documents if these documents are changed.
However, for an operation on a document stored on the XDM server, this system only allows the operation to be performed by a client representing the owner of the document, but another entity such as another user or an application server can not be entrusted with the operation on the XML document, which brings inconvenience to users. In many cases, an entrustment-proxy mechanism is required to allow a client to entrust its operations on an XML document, such as storage and management, with a client of another user, i.e., this client allows the XDM client of another user to manage the XML document of this client. No mechanism for an access control on an XML document has been provided in the prior art.